# 构建阶段
FROM m.daocloud.io/docker.io/library/golang:1.23-alpine AS builder

# 设置Go环境变量
ENV GO111MODULE=on \
    GOPROXY=https://goproxy.cn,direct \
    CGO_ENABLED=0 \
    GOOS=linux

# 设置工作目录
WORKDIR /build

# 复制go.mod和go.sum
COPY go.mod go.sum ./

# 下载依赖
RUN go mod download && \
    go get github.com/gin-contrib/cors

# 复制源代码
COPY . .

# 构建应用
RUN go build -o main .

# 运行阶段
FROM m.daocloud.io/docker.io/library/alpine:latest

# 设置工作目录
WORKDIR /app

# 从构建阶段复制二进制文件和环境文件
COPY --from=builder /build/main .
COPY .env .env

# 暴露端口
EXPOSE 8081

# 运行应用
CMD ["./main"] 